其他
量子 & AI,是融合还是颠覆?
但不幸的是,当时量子计算尚处在理论阶段,而人工智能也因为计算机内存有限、处理速度不足、数据库容量小等原因陷入寒冬,政府、企业开始缩减资金投入。大多数人认为,人工智能和量子计算的结合就好像要把油和水混合起来一样荒谬。
因为技术限制,人工智能和量子计算的交叉学科并不受人关注。到了21世纪,经典计算机的计算能力大大提升,以及大数据时代的来临,人工智能迎来蓬勃发展,对于量子计算没有太大需求。
但是,近年来信息数据增长的速度已经超过计算能力提升的速度,预计2023年全球数据产量将增至93.8ZB、到2025年,全球共将需要存储175 ZB的数据——年平均增长率达到了惊人的27%;同时,经典计算机算力受到摩尔定律的限制,如果不能找到一种办法大幅提升算力,人工智能将会陷入瓶颈。
回顾历史,人工智能发展每一次陷入低谷,不是人类不够聪明,而是算力不够强大。就好比一枚硬币,它的正面是每一代人工智能科学家的奇思妙想,而它的反面,曾经和现在是超级计算机,未来将是量子计算机。
但是已有70年历史的人工智能,并非一帆风顺,每次蓬勃发展后都曾陷入低谷。因为实现人工智能需要满足三要素:算法、数据和硬件算力,这些要素都同等重要,缺一不可。
人工智能的早期发展主要是在算法上面功夫,也就是搭框架,没有算法也就不能称之为人工智能。
达特茅斯会议的召开,掀起了人工智能的第一次浪潮,斯坦福大学、麻省理工学院、卡耐基梅隆大学,纷纷建立起人工智能实验室,开展人工智能研究,并从美国国防高级研究计划署(ARPA)等政府机构获得大量研发资金。
当时人们开发出诸多神奇的程序,计算机不仅可以用来学习数学几何,还可以学习英语,也可以设定游戏系统。
1956年,卡内基梅隆大学教授Herbert Simon和Allen Newell开发了世界上第一个人工智能程序——逻辑理论家,该程序能够模拟人们用数理逻辑证明定理时的思维规律,证明了罗素的《数学原理》中的全部350条定理。
从1952年开始,IBM科学家Arthur Samuel研制了具有学习功能的跳棋程序,该程序能够从棋谱中学习,也能通过实践经验提高棋艺,他定义了一个新词——机器学习(Machine Learning,ML)。到1962年,Samuel的程序第一次获得跳棋州冠军。
1957年,康奈尔大学Frank Rosenblatt发明了感知器(Perceptron),是人工神经网络的雏形,同时也是支持向量机的基础,在当时引起了不小的轰动。
1958年,斯坦福大学人工智能实验室主任John McCathy开发了表处理编程语言LISP,成为后来人工智能研究中最流行的编程语言。
而在60年代,J. A. Robinson提出归结法,可将大部分人工智能问题转化为一个定理证明问题。T. M. Cover和P. E. Hart提出KNN(K-Nearest Neighbor)最邻近分类算法,使计算机可以进行简单的模式识别。
所有这些成就,使人们对人工智能的发展过于乐观,甚至认为“二十年内,机器将能完成人能做到的一切。”
然而,好景不长,人工智能经过一段时间的狂热之后,开始出现瓶颈。
Robinson的归结法在证明“连续函数之和仍连续”这一微积分的简单事实时,推导了十万步仍无结果;Samuel的跳棋程序在获得州冠军之后始终未获得全国冠军;机器翻译所采用的依靠一部词典的词到词的简单映射方法并未成功;从神经生理学角度研究人工智能也遇到了诸多困难,运用电子线路模拟神经元及人脑并未成功;等等。
70年代,人工智能预期的研究成果大多数都没有完成。最杰出的人工智能程序也只能解决问题中最简单的部分,所有的程序都只是“玩具”,无法解决更为复杂的问题。由于技术上的停滞不前,投资机构纷纷开始撤回和停止对人工智能领域的投资。
究其原因,实现人工智能的三要素在当时全部都不具备。
在当时的条件下,人工智能程序只能解决对象少、复杂性低的特定问题,当提升问题的维度时,程序就马上变得跟蚍蜉撼大树一样,无能为力了。
再者是硬件问题,当时计算机看似庞大,但是内存容量很小、读写速度很慢,CPU的运算速度和运算能力非常有限,没有能力去解决人工智能的任何实际问题。
最后,人工智能需要大量的数据作为学习的支撑,才能发展它的“智力”,但是,当时存储数据的硬件和软件的能力严重不足,无法提供海量的数据样本来进行人工智能的训练。
此后,人工智能沉寂了将近十年。直到哈佛大学博士Paul Werbos把神经网络反向传播(BP)算法的思想应用到神经网络,提出多层感知器(MLP),包括输入层、隐层和输出层,即人工神经网络(Artificial Neural Network,ANN)。
不过对人工智能影响最为深远的还是人工神经网络。1985-1986年,David Rumelhart和Geoffrey Hinton等成功实现了实用的BP算法来训练神经网络,并在很长一段时间内BP都作为神经网络训练的专用算法。
Hinton的学生Yann LeCun在1989年构建了应用于计算机视觉问题的卷积神经网络(CNN),在手写字识别等小规模问题上,取得了当时世界上最好结果。如今,卷积神经网络是计算机视觉、语音识别、语音合成、图像合成和自然语言处理领域的行业标准。
2006年,Hinton和他的学生Salakhutdinov正式提出深度学习(Deep Learning,DL)的概念。他们在《科学》上发表的一篇文章中详细的给出了梯度消失问题的解决方案——通过无监督的学习方法逐层训练算法,再使用有监督的反向传播算法进行调优。
2012年,首次参加ImageNet图像识别比赛,Hinton课题组通过构建的CNN网络AlexNet一举夺得冠军,且碾压第二名(SVM方法)的分类性能。
人工智能需要大量真实世界的数据,要知道一个三岁婴儿的智能水平,也是要观看过数亿张图像之后才能形成。在那个互联网没有普及的年代,如此庞大数据是不可能的任务。而到了大数据时代,这个问题就迎刃而解了。
从某种意义上讲,2005年是大数据元年,之前在机器翻译领域从来没有技术积累、不为人所知的Google,以巨大的优势打败了全世界所有机器翻译研究团队,一跃成为了这个领域的领头羊。
有了大数据,就要有与之相匹配的算力。上世纪70年代Intel集成了CPU,很长一段时间CPU都是独自扮演着处理数据的角色,并遵循着摩尔定律发展至今。后来由于CPU在图像渲染方面的能力不足,90年代出现了GPU。
英伟达公司在1999年发布GeForce256图形处理芯片时首先提出GPU的概念。GPU的关键性能是并行运算,复杂问题可被分解为更简单的问题,然后同时进行处理,CPU只能从上到下、从左到右进行处理。
2008年之前,GPU只是一个图像渲染的“加速器”,此后NVIDIA推出CUDA架构彻底将GPU变成了一个通用处理器。2012年,Hinton等人利用深度学习+GPU的方案,奇迹般地将视觉识别成功率从74%提升到85%,从此GPU在人工智能界被广泛应用。
GPU的计算速度相比CPU有了大的提升,但它有CPU一样的缺点,就是功耗较大。比如2016年的AlphaGo,使用了一千多块CPU及一百多块GPU,每盘棋局耗电成本达3000美元。
在这种情况下,人们把目光投向了FPGA和ASIC。与GPU/CPU相比,FPGA/ASIC拥有良好的运行能效比,在实现相同性能的深度学习算法中,CPU/GPU所需的功耗远远大于FGPA/ASIC。
FPGA(即可编程逻辑门阵列),用户可以根据自身需求,用硬件描述语言(HDL)对FPGA的硬件电路进行设计。存储器带宽需求比使用GPU或者CPU实现时低得多,而且具有流水处理和响应迅速的特点。
在功耗方面,FPGA能耗比大约是CPU的约10倍、GPU的3倍。究其原因,在FPGA中没有去指令与指令译码操作,在INTEL的CPU里,由于使用了CISC架构,仅仅译码就占整个芯片能耗的约50%;在GPU里,取指与译码也消耗10%至20%的能耗。
而ASIC是一种为专门目的而设计的集成电路。国外有Google的TPU芯片、高通的Zeroth芯片、IBM的truenorth芯片、NVIDIA的Tesla芯片,国内也有中星微的NPU芯片以及寒武纪的AI芯片等。
定制芯片的性能提升非常明显。比如英伟达首款专门为深度学习从零开始设计的芯片Tesla P100数据处理速度是其2014年推出GPU系列的12倍。
在人工智能发展史上,从CPU、GPU到FPGA、ASIC,算力在不断提升,功耗在不断降低,体积也在不断变小,但无论性能如何提升,所有集成电路都将受到摩尔定律趋于失效的影响。
摩尔定律是由Intel创始人之一的戈登·摩尔提出,他预言当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。
从70年代开始,为了在芯片上集成更多的晶体管,CPU制程越来越小。
经过50年发展,芯片制程从第一块CPU的10000nm发展到今天的7nm。如果制程工艺达到2nm,那么这个级别上的晶体管只能容纳10个原子,电子的行为将不再服从传统的半导体理论,晶体管不再可靠。
因此,无论芯片的性能如何提升,最终都会受到制程工艺的限制。另一方面,人类社会进入了数据爆炸的时代,现有算力已经无法匹配。在如此庞大的数据面前,AI的训练学习过程将变得无比漫长,甚至完全无法实现最基本的人工智能,因为数据量已经超出了内存和处理器的承载上限。
面临如此严峻的挑战,人工智能必须另觅他途,寻找新的计算方式,而量子计算可能是一个答案。
量子人工智能的训练数据首先要以某种可以为量子计算机识别的格式载入, 经过量子人工智能算法处理以后形成输出, 此时的输出结果是量子格式的, 需要经过测量读出最终结果。
1995年,美国路易斯安那州立大学Kak教授在On Quantum Neural Computing一文中首次提出量子神经计算的概念。随后,包括Behrman教授在内的研究人员提出了各类量子神经网络模型。
目前量子机器学习算法整体框架主要沿用原有机器学习的框架,作用是将机器学习中复杂度较高的部分替换为量子版本进行计算,从而提高其整体运算效率。
主流的量子机器学习算法主要包括:量子K-means算法、量子分裂聚类、量子KNN算法、量子支持向量机(QSVM)、量子决策树算法、量子神经网络、量子主成分分析算法(QPCA)、量子玻尔兹曼机、量子线性判别分析等。
2015年,潘建伟团队以小型光量子计算机为实验平台,首次对量子K-Means算法进行物理实验验证,实验分别对4、6、8量子比特规模的算法进行了验证,在传统机器学习中普遍存在的高维向量间距离和内积的计算可在量子计算机上实现,运算效率优于传统算法。
采用与Lloyd相似的研究思路,微软的Janyce Wiebe提出了量子KNN算法,在计算测试样本与所有训练特征之间的距离时,使用量子算法能够起到多项式加速效果;在所有距离中选出最小的一个或数个,使用Grover搜索的幅值估计算法能够起到平方加速效果。
在支持向量机路线上,QSVM已经在核磁共振平台上得到了实验验证。2015年,研究人员搭建了一个4位QSVM,并对标准字符字体集中的数字6和数字9进行训练,然后以数据集中的6和9为对象进行手写数字图像二分类测试,实验结果表明QSVM是物理可实现的。
现在的人工智能系统使用的是成百上千个GPU来提升计算能力。这使得处理学习或者智能的能力得到比较大的增强。然而这套系统也需要庞大的硬件机柜和想配套的硬件机房,较大的人工智能硬件系统需要将近半个足球场的占地空间。
当量子芯片中的量子比特达到一定数量后,计算能力将足够人工智能的算力需求。实现人工智能,原来需要一千台或者一万台计算机的规模,使用量子计算机可能就只需要一台,也就是说人工智能将不再依赖于大型服务器集群,或者庞大的云计算中心。
相关阅读:
每周一到周五,我们都将与光子盒的新老朋友相聚在微信视频号,不见不散!
|qu|cryovac>
|qu|cryovac>
你可能会错过:|qu|cryovac>